The present invention relates to a method of controlling a robot in which a hand or tool (hereinafter simply referred to as a "hand") of a robot is driven at a speed corresponding to the deviation from a set position to place the hand accurately at the set position.
A robot has hitherto been controlled in such a manner that acceleration and deceleration are exerted in accordance with predetermined teaching data. In such a control operation, it is impossible to obtain desired acceleration and deceleration curves, since the robot cannot respond immediately to the predetermined data. In order to solve such difficulties, it is required to make gentle respective slopes of acceleration and deceleration curves, and therefore the robot cannot be driven at a high speed.
In more detail, according to a conventional method of controlling a robot, in the case where a hand is moved between two points given by teaching at a predetermined speed along a straight line connecting these two points, the position of the hand at each sampling time is determined by an interpolation method, the position thus determined is converted into the displacement of a kinematic pair, this displacement is outputted as a set value at each sampling time, and a servo system makes positioning control on the basis of these set values. In this case, the acceleration and deceleration of the hand are made by changing the length of intervals used in the interpolation. However, interpolation is made on the basis of only the teaching data, and positional information which is obtained while the hand is moved, is not used in interpolation. Accordingly, even in the case where the motion of the hand is delayed or advanced, set values corresponding to an ideal response are given by interpolation. Therefore, smooth acceleration and deceleration cannot be made, and in the worst case, the hand is moved while vibrating.